/**
 * \file CMyTreeWidgetItemData.h
 * \author Corentin Le Bail
 * \date 2009-2012
 * \brief Fichier de déclaration de la class CMyTreeWidgetItemData
 */
//------------------------------------------------------------------------------
#ifndef __CMYTREEWIDGETITEMDATA_H__
#define __CMYTREEWIDGETITEMDATA_H__
//------------------------------------------------------------------------------
#include <QDataStream>
//------------------------------------------------------------------------------
/**
 * \class CMyTreeWidgetItemData CMyTreeWidgetItemData.h "CMyTreeWidgetItemData.h"
 * \brief Classe de donnée accroché aux QTreeWidgetItem
 */
class CMyTreeWidgetItemData {
	
	public:
		/**
		 * \typedef typedef enum {dtNone, dtRoot, dtFolder, dtBookmark} EDataType;
		 * \brief Type de données disponible dtNone: invalid, dtRoot: racine, dtMain, dtFolder: dossier, dtBookmark: favoris
		 */
		typedef enum {dtNone, dtRoot, dtFolder, dtBookmark} EDataType;
		
		/**
		 * \fn CMyTreeWidgetItemData(void)
		 * \brief Constructeur
		 */
		CMyTreeWidgetItemData(void) { this->id=0; this->type=dtNone; }
		
		/**
		 * \fn CMyTreeWidgetItemData(int id, EDataType type)
		 * \brief Constructeur
		 * \param[in] id Identifiant SQL de la donnée
		 * \param[in] type Type de donnée
		 */
		CMyTreeWidgetItemData(int id, EDataType type) { this->id=id; this->type=type; }
		/**
		 * \fn int getId(void) const
		 * \return L'identifiant SQL de la donnée
		 */
		int getId(void) const { return id; }
		/**
		 * \fn void setId(int id)
		 * \param[in] id Identifiant SQL de la donnée
		 */
		void setId(int id) { this->id=id; }
		/**
		 * \fn EDataType getType(void) const
		 * \return Le type de donnée
		 */
		EDataType getType(void) const { return type; }
		/**
		 * \fn void setType(EDataType type)
		 * \param[in] type Type de donnée
		 */
		void setType(EDataType type) { this->type=type; }
		/**
		 * \fn static const QString mimeType(void)
		 * \return Le type mime associé à l'aobjet
		 */
		static const QString mimeType(void) { return "CMyTreeWidgetItemData"; }
	private:
		int id;
		EDataType type;
};
//------------------------------------------------------------------------------
Q_DECLARE_METATYPE(CMyTreeWidgetItemData)
//------------------------------------------------------------------------------
#endif //__CMYTREEWIDGETITEMDATA_H__
//------------------------------------------------------------------------------
